package org.wlc.demov2;

import org.wlc.demov1.ceilling.LevelOneCeiling;
import org.wlc.demov1.ceilling.LevelTwoCeiling;
import org.wlc.demov1.coat.DuluxCoat;
import org.wlc.demov1.coat.LiBangCoat;
import org.wlc.demov1.floor.DerFloor;
import org.wlc.demov1.tile.DongPengTile;
import org.wlc.demov1.tile.MarcoPoloTile;

import java.math.BigDecimal;

/**
 * @author 王立朝
 * @date 2022/5/24
 * @description:建造者类具体的各种组装由此类实现。
 */
public class Builder {

    public IMenu levelOne(BigDecimal area) {
        return new DecorationPackageMenu(area, "豪华欧式")
                // 吊顶，一级顶
                .appendCeiling(new LevelOneCeiling())
                // 涂料，德克士
                .appendCoat(new DuluxCoat())
                // 地板，德而地砖
                .appendFloor(new DerFloor());
    }

    public IMenu levelTwo(BigDecimal area) {
        return new DecorationPackageMenu(area, "轻奢田园")
                // 吊顶，二级顶
                .appendCeiling(new LevelTwoCeiling())
                // 涂料，立邦
                .appendCoat(new LiBangCoat())
                // 地砖，马可波罗
                .appendTile(new MarcoPoloTile());
    }

    public IMenu levelThree(BigDecimal area) {
        return new DecorationPackageMenu(area, "现代简约")
                // 吊顶，二级顶
                .appendCeiling(new LevelOneCeiling())
                // 涂料，立邦
                .appendCoat(new LiBangCoat())
                // 地砖，东鹏
                .appendTile(new DongPengTile());
    }
}
